home *** CD-ROM | disk | FTP | other *** search
/ Super PC 34 / Super PC 34 (Shareware).iso / spc / UTIL / DJGPP2 / V2 / DJTST200.ZIP / tests / libc / posix / unistd / access.c next >
Encoding:
C/C++ Source or Header  |  1996-01-25  |  696 b   |  33 lines

  1. #include <unistd.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. const char *
  6. q(char *s, int a)
  7. {
  8.   if (access(s, a) == 0)
  9.     return "YES";
  10.   return "NO ";
  11. }
  12.  
  13. int
  14. main(int argc, char **argv)
  15. {
  16.   int i, max=0;
  17.   for (i=1; i<argc; i++)
  18.     if (max < strlen(argv[i]))
  19.       max = strlen(argv[i])+1;
  20.   for (i=1; i<argc; i++)
  21.   {
  22.     printf("access %s:", argv[i]);
  23.     printf("%*c", (int)(max-strlen(argv[i])), ' ');
  24.     printf("F_OK: %s  ", q(argv[i], F_OK));
  25.     printf("R_OK: %s  ", q(argv[i], R_OK));
  26.     printf("W_OK: %s  ", q(argv[i], W_OK));
  27.     printf("X_OK: %s  ", q(argv[i], X_OK));
  28.     printf("D_OK: %s  ", q(argv[i], D_OK));
  29.     printf("\n");
  30.   }
  31.   return 0;
  32. }
  33.